Testing Software Systems Against Realistic User Errors

نویسنده

  • Silviu ANDRICA
چکیده

Le persone organizzano sempre di più ogni aspetto della propria vita attraverso l’utilizzo di sistemi software, dal lavoro al trasporto alla salute. Possiamo essere sicuri che i programmi dai quali ci accingiamo a dipendere sono affidabili ? Tali programmi possono tollerare maltrattamenti degli utenti? Questa tesi affronta il problema di verificare i sistemi software rispetto ad errori introdotti dagli utenti. Gli errori introdotti dagli utenti sono inevitabili. Ciò significa che gli sviluppatori non possono vedere gli utenti come esseri perfettamente razionali che scelgono sempre la migliore linea di azione e non commettono mai errori. Perciò, i sistemi software devono poter essere robusti ad errori umani. In questa tesi si propone una tecnica che verifica i sistemi software rispetto un ampio spettro di comportamenti erronei umani realistici. Tale tecnica permette agli sviluppatori di quantificare l’impatto che gli errori degli utenti hanno sull’affidabilità del loro sistema, e.g. crash di sistema, cos che possano sapere dove e’ meglio agire per migliorare il loro sistema. Le tecniche per rendere i sistemi software robusti ad errori umani sono tre: 1) prevenzione, 2) “coping”, 3) verifica e validazione. Le tecniche di prevenzione permettono di allontanare gli errori degli utenti attraverso l’identificazione e la rimozione di opportunit per gli utenti di compiere errori. Purtroppo, queste tecniche richiedono manodopera esperta che le rende molto costose e sono tuttavia limitate alla protezione dei sistemi solo rispetto ad errori conosciuti in anticipo. Le tecniche di “coping” assicurano la possibilità di mitigare o invertire gli effetti di errori umani. Queste tecniche hanno tuttavia lo svantaggio di incrementare la complessità del sistema, che lo rende complesso da gestire e permette l’insinuazione di difetti al suo interno. Infine, gli sviluppatori usano tecniche di verifica e validazione per mettere in evidenza deficienze nell’implementazione del sistema. Tali problemi possono essere corretti applicando una delle tecniche precedentemente menzionate. Questa tesi presenta una tecnica per verificare i sistemi software rispetto ad errori introdotti dagli utenti che è contemporaneamente automatica e collaborativa. Attraverso l’automazione del processo di verifica del sistema, in questa tesi si mostreranno i benefici dovuti alla riduzione del lavoro manuale richiesto e del numero di test eseguiti. Con il termine “realistico” s’intende che il comportamento erroneo dell’utente è rappresentativo del comportamento tipicamente esercitato dagli utenti che interagiscono con il sistema. Con il termine “rilevante” s’intende che l’attività di verifica è guidata verso le parti del sistema sulle quali gli utenti si affidano di più. Con il termine “collaborativo” s’intende che gli utenti del “mondo reale” possono partecipare al processo di verifica, o come sorgente dei test o come ospitanti dell’esecuzione del test. La tecnica proposta è stata applicata ad applicazioni web, applicazioni smartphone, e a server web. In particolare, tale tecnica è stata in grado di generare test che rilevano difetti non scoperti in ogni categoria di sistemi analizzati. Tali test mostrano che gli errori degli utenti causano l’esecuzione di nuovo codice, il quale contiene difetti. Inoltre la tecnica proposta riesce a preservare l’anonimia degli utenti che partecipano nella collaborazione e non ostacola

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Proposing an Efficient Software-based Method to Enhance Reliability of Computer Systems against Soft Errors

In recent years, along with rapid developments in technology, computer systems haveincreasingly become more integrated and more modular. Indeed, the reliability and efficiency ofcomputer systems are of high significance. Hence, the quantitative evaluation of the optimizationof reliability indexes in computer systems is considered to be a crucial issue. Reliabilityenhancement of computer systems...

متن کامل

Testing Strategies for Object Oriented Systems

The objective of testing, stated simply, is to find the greatest possible number of errors with a manageable amount of effort applied over a realistic time span. Although this fundamental objective remains unchanged for object-oriented software, the nature of OO programs changes both testing strategy and testing tactics. Keywords-;Object-orientation ;Test case;Testing Strategies ;)

متن کامل

Usability evaluation of the user interface in electronic prescribing systems of Iran Health Insurance Organization and Social Security Organization

Introduction: The e-prescribing system is one of the basic technologies in the health system structure which was developed with the aim of properly managing healthcare resources and services, preventing common manual prescribing errors, and increasing patient safety. Given that the user interface of e-prescribing system is considered as the main factor of user acceptance, the purpose of the pre...

متن کامل

An Exploration of User-Visible Errors in Web-based Applications to Improve Web-based Applications

Web-based applications are one of the most widely used types of software and have become the backbone of the e-commerce and communications businesses. These applications are often missioncritical for many organizations, but generally suffer from low customer loyalty and approval. Although such concerns would normally motivate the need for highly-reliable and well-tested systems, web-based appli...

متن کامل

OpenHMI-tester: an open and cross-platform architecture for GUI testing and certification

Software testing is usually used to report and/or assure about the quality, reliability and robustness of a software in the given context or scenario where it is intended to work. This is specially true in the case of user interfaces, where the testing phase is critical before the software can be accepted by the final user and put in execution mode. This paper presents the design, and the later...

متن کامل

Mutation of Java Objects

Fault insertion based techniques have been used for measuring test adequacy and testability of programs. Mutation analysis inserts faults into a program with the goal of creating mutation-adequate test sets that distinguish the mutant from the original program. Software testability is measured by calculating the probability that a program will fail on the next test input coming from a predefine...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2014